Patch codes for color calibration job identification encoding

ABSTRACT

A color calibration job identification system and method are provided, wherein the job identification data is encoded on a printed page, in a patch code, along with color targets, according to a protocol and format approximately identical to a format of the color targets. The patch code comprises a first portion, including a start code, and a second portion, including job identification data. The first portion of the patch code is comprised of two or more small color patches, each having a predefined color. The second portion of the patch code is comprised of two or more small color patches wherein each of the patches is comprised of a color selected from a plurality of colors, wherein each of the colors is indicative of a unique datum value, preferably an octal digit. The system provides a means for determining correct functioning of a printer and a means for determining an orientation of a printed page in a scanning device.

BACKGROUND OF THE INVENTION

This application is directed to patch codes for color calibration jobidentification encoding. Typically, there are two phases involved in thecolor correction of a color printer: calibration and characterization.Calibration involves maintaining the printer at a defined state, whilecharacterization involves determination of the multidimensionaltransformation or profile that relates device color signals (e.g. CMYK)to spectrophotometric or colorimetric signals (e.g. CIELAB). Typically,characterization is performed relatively infrequently, sometimes onlyonce at the factory that produces the printer. Calibration, on the otherhand, needs to be performed frequently to compensate for printer driftand bring the device back to its nominal state. While the termcalibration will be used throughout this application, the ideas alsoapply equally to the characterization process.

The calibration process involves sending an image with pre-specifieddevice signals (i.e. a target) to the printer, and makingspectrophotometric measurements of the print with the use of aspectrophotometric scanner. The device and spectrophotometric signalstogether are used to build or update the calibration tables.

In a production environment, many printers, perhaps 30 to 40, might begoing through a calibration process at the same time. In a typicalenvironment, operators must manually keep track of each printed page,and there can be many printed target types printed for each printer. Theoperator must then feed each page to a spectrophotometric scanner andtabulate results of scanning each target type. The results of each scanmust be manually associated to the corresponding printed target, and tothe correct printer. Considering the quantity of pages printed and theamount of work necessary to manually track each printed page, there isconsiderable possibility for error. Pages can be accidentallymisordered, and scanning results can accidentally be associated with anincorrect printed target or printer. This can result in highlyinaccurate calibrations, and calls upon the difficult task of diagnosingthe errors.

It would be desirable, therefore, to provide automation to the colorprinter calibration process, breaking the cycle where an operator mustkeep track of all details. It is further desirable that the jobidentification data be encoded according to a scheme wherein jobidentification data is printed according to a protocol and in a formatapproximately identical to a format of said target.

SUMMARY OF THE INVENTION

The present invention automates the color printer calibration process,wherein the spectrophotometric scanner reads job identification datafrom each printed page where it has been recorded by the calibrationsystem on the printer being calibrated. This job identification datawill desirably include encoded printer identification, what part of thecalibration is being tested (target), the current date, an operatorname, and any additional information deemed necessary in a givenproduction environment.

A system is provided for encoding job-specific identificationinformation to be extracted by the same spectrophotometric scanner as istypically used in existing calibration systems. Since scanning softwarecan read job-specific identification information from a printed pagecontaining target color patches, it is not necessary for a humanoperator to have expertise in handling printed pages and scannerresults. The use of predefined start codes as part of the data encodingscheme allows early detection of major print problems such as separationdrop out. Also, it enables an ability of the software to check forsimple errors in page positioning such as placing the page on thescanner in a wrong orientation. Positioning errors are accounted for inthe software and the scanned page is processed correctly without humanintervention. This greatly enhances the robustness of the scanning partof the calibration process. Having job identification information storedwithin the page and machine readable output from the scanner results inthe operator not having to track which scanner output is associated witha particular printer or target. Software can be used to track acalibration state without human intervention, thus reducing thepotential for errors, and providing increased robustness to the system.

DESCRIPTION OF THE DRAWINGS

The present invention exists in the construction, arrangement, incombination of the various parts of the device, and steps of the method,whereby the objects contemplated are attained as hereinafter more fullyset forth, specifically pointed out in the claims, and illustrated inthe accompanying drawings in which:

FIG. 1 illustrates an exemplary protocol for encoding binary values intopatch codes;

FIG. 2 depicts an exemplary patch code format;

FIG. 3 illustrates an exemplary format for using patch codes in anapplication; and,

FIG. 4 shows pages rotated from a preferred position.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

There are many techniques for encoding information onto a printed page,glyphs, Cauzin strips and bar codes for example. However, these aretypically read by scanners designed to handle a specific type of data.Glyphs require two-dimensional platen scanning. Cauzin strips requirethe Cauzin strip reader or two-dimensional platen scanning withappropriate software. Handheld laser scanners are typically used to readbar codes. For color calibration applications, in order to maximizerobustness, it is desirable to minimize the number of times a humanoperator has to manipulate printed pages. It is therefore preferable tohave a scanner that scans for spectrophotometric values (calibrationdata) also scan for job identification information. A spectrophotometricscanner typically used for calibration moves to a particular coordinateand then commences scanning for color values. One such scanner may aGretag spectrophotometer (from Gretag Imaging Inc.). Use of a scanner ofthis type results in implementation of an encoding scheme that willfunction in that mode, wherein job identification data is printedaccording to a protocol and in a format approximately identical to theformat of the calibration data. A patch code scheme satisfies theaforementioned issues.

A patch code is a sequence of color patches, each of which is selectedfrom a set of colors that are readily distinguished from each other onany printer, whether or not it is calibrated. Good candidates for patchcodes are the primary colorants cyan, magenta, yellow, the secondarymixtures red, green, blue, paper white, and mid-gray. Black is not usedbecause of possible confusion with blue. Also, rendition of a good blackoften requires an optimum combination of cyan (C), magenta (M), yellow(Y), and black (K). This requires intimate knowledge of the printingprocess, which may not be known at the time of calibration. This set of8 patch codes allows each patch to encode 3 bits of data, or a singledigit in an octal numbering system.

For example, an octal digit represents one integer in the range 0–7which can alternately be represented by a three digit binary integer inthe range 000–111. A single row of twenty patch codes can encode up tosixty bits of data. Four such rows can encode up to two hundred andforty bits of information.

To use patch codes, a protocol is defined. FIG. 1 illustrates anexemplary encoding scheme 10 of binary values into patch codes. Normallyeach color patch is a different color, however, to distinguish each ofthe eight colors on a black-and-white document, each color isrepresented in FIG. 1 and all remaining figures by a unique format ofcross hatches, dots or shade of gray. A cyan color patch 12 isrepresented by diagonal cross hatching that slopes downward towards theright side. A magenta color patch 14 is represented by diagonal crosshatching that slopes upward towards the right side. A yellow color patch16 is represented by vertical cross hatching. A white color patch 18 isrepresented by a pattern of dots. A red color patch 20 is represented byhorizontal cross hatching. A green color patch 22 is represented by acheckerboard pattern. A blue color patch 24 is represented by diagonalcross hatching. Finally a midgray color patch 26 is represented by asolid shade of gray.

FIG. 2 illustrates one possible format for a two row, twenty columnpatch code 30. The first three color patches of the first row, has thecolors cyan 12, magenta 14 and yellow 16, in that order, forming a startcode 32. This code is a confirmation to the system that the patchesabout to be encountered are patch codes. If the start codes are notencountered at the very beginning of the measurement file, the systemwill suspect incorrect orientation of the target. This can thenpotentially be corrected at the very onset of the measurement processingstep. The next two color patches represent a number of rows 34, inoctal, of patch code 30. In the exemplary patch code in FIG. 2, acyan-yellow pair of color patches is shown, indicating a total number of2 rows. The following two color patches represent the number of columns36, or width, of patch code 30 in terms of the number of color patchesper row. The example shows a yellow-red pair of color patches,indicating an octal 24, or 20 color patches per row. The next two colorpatches represent a patch code version number 38, currently set to 1(i.e. cyan, magenta). The patch code version number will be incrementedwhen new fields are added or fields are changed to an initial patchcode. Remaining color patches in patch code 30 represent job or otherdata depending on a specific format of the patch code version number 38.For exemplary version 1, the following information is encoded:

-   -   a job ID 40, 33 bits in length, containing a unique ID used as a        key to access a state of a given printer calibration;    -   a date 42, 33 bits in length, containing a print file creation        time in seconds from Jan. 1, 1970 or other selected time;    -   a page number 44, 6 bits in length, containing a calibration        page number;    -   a target type 46, 3 bits in length, identifying what type of        color target is printed on a page containing patch code 30;    -   a sub ID 48, 6 bits in length, used to track experimental        variations from the standard calibration path; and,    -   extra unused color patches 50 can be printed with any        appropriate code, midgray corresponding to an octal 7 is shown        in the example.

Other information which can be included in the patch code as it suitsthe user's application. For example, recording the type of markingtechnology, for example, xerographic versus inkjet versus dyesublimation, etc., may be of considerable value in optimizing thecalibration process. Recording the type of medium, for example, coatedpaper stock, uncoated matte stock, etc., may also be of value incalibration.

The two-row patch code 30 illustrated in FIG. 2 can encode 93 bits ofjob information, with an additional 27 bits used for a start code 32,number of rows 34, number of columns 36 and version number 38. Adding anadditional row would add an additional 60 bits of job information. Theformat illustrated uses 20 color patches in a single row while a typicalprinted page, U.S. legal size for example, is 8.5 inches minus whatevermargins or hardware limitations may exist for a printer. Hardwarelimitations may reduce the overall printable width to 7 inches whichwould allow for 28 color patches, each ¼ inch wide, across a singlepage. However, since the locations of the start codes 32 must be welldefined and unique to identify page rotations as explained below, a goodchoice is to select 20 color patches per row as typical. This is, ofcourse, exemplary and can be adjusted for other applications.

As described above, start code 32 is in a fixed location relative topatch code 30, preferably as the first three color patches of patch code30 as illustrated in FIG. 2. Placing start code 32 in the aforementionedposition, and placing patch code 30 near the upper-left margins (as itis to be scanned) of a printed page provides several advantages.

Use of the present invention permits scanner software to easily checkfor rotations of a page, or mispositioning of a page by checking severallocations that correspond to common rotations or mispositioning of thepage as illustrated in FIGS. 3 and 4. In FIG. 3, a printing device 59holds a page 60, containing targets 62 and 64. Page 60 represents a pagein a preferred orientation with respect to a spectrophotometric scannersystem 65 to which page 60 will be transported for scanning, wherein therows of patch code 30 are aligned in a preferred horizontal direction.The scanner system 65 first scans for start code 32 in the upper leftcorner of page 60, and having found start code 32 can assume that page60 is correctly oriented and commence scanning for targets 62 and 64 intheir preferred positions. Following the scanning process, readablespectrophotometric scan results are obtained by the scanner system 65,including the job identification data and calibration data. In analternative embodiment, a system external to the scanner system 65 maybe used to obtain the job identification data and calibration data.

Page 66 of FIG. 4 represents page 60 in a first rotated position,wherein start code 32 is now in the top right corner of page 66, and therows of patch code 30 are now vertically aligned. The spectrophotometricscanner system 65 of FIG. 3 will first search for start code 32 in itspreferred position, and having not found it there will search in a firstalternate location for start code 32 as illustrated in page 66. Havingfound start code 32 in a first alternate position, the scanner cansubsequently scan for targets 62 and 64 in their corresponding rotatedpositions. Pages 68 and 70 represent page 60 in second and thirdalternate rotations respectively. The spectrophotometric scanner system65 would scan for start code 32 in second and third alternate positionsonly after failing to find start code 32 in previously scannedpositions. In this manner, the scanner can detect for misrotated pagesand, by scanning additional alternate positions, can detectmispositioned pages as well.

In an alternative embodiment the scanner would always scan the target inthe same manner regardless of orientation of the printed page. Ameasurement processing system that is external to the scanner systemwould be used to search for the start code and appropriately rotate andreorder the spectrophometric data to the intended sequence.

Implementing a patch code permits the scanner software to quickly checkthat all separations of the printer are functioning correctly. Afterscanning for start code 32 in preferred and alternate rotations andpositions, if the spectrophotometric scanner has failed to find startcode 32, the scanner can provide an error indication to a user. Thiserror indication would of course indicate that job ID 40 could not befound, and corrective action must be taken by a scanner operator.

The automation provided by the present invention eliminates the need ofan operator to manually keep track of all calibration pages, the sourceprinter and targets for each page, and the results of spectrophotometricscanning of each target-containing page. In a production environmentwherein perhaps 30 to 40 printers are being calibrated at any one time,there is a very real possibility that mishandling can occur, especiallyconsidering that many target types can be printed for each printer.Pages can be accidentally placed out of order, and target scanningresults can consequently be associated with an incorrect printer or anincorrect target type. The present invention provides a means ofbreaking the cycle where an operator must keep track of everything. Theoperator can simply feed target-containing pages to a scanner, and thescanner software can perform all of the tracking and identificationdetails with a greatly reduced possibility for error.

The invention has been described with reference to the preferredembodiments. Obviously, modifications and alterations will occur toothers upon a reading and understanding of this specification. It isintended to include all such modifications and alterations insofar asthey come within the scope of the appended claims or the equivalentsthereof.

1. A color calibration job identification system comprising: a printedpage on which at least one color target is printed; and, a patch codeprinted on the page to provide additional data useful to the colorcalibration, said patch code comprising: a first portion including astart code, wherein said start code includes two or more color patcheswherein each of said patches have a predefined color; and, a secondportion comprising job identification data, wherein said jobidentification data includes two or more color patches wherein each ofsaid patches is comprised of a color selected from a plurality ofcolors, each indicative of a unique datum value.
 2. The colorcalibration job identification system according to claim 1, wherein saidstart code assists in determining correct functioning of a printer. 3.The color calibration job identification system according to claim 1,wherein said start code assists in determining an orientation of saidprinted page in a scanning device.
 4. The color calibration jobidentification system according to claim 1, wherein said patch codecomprises a rectangular array of color patches.
 5. The color calibrationjob identification system according to claim 4, wherein said patch codeincludes: one or more color patches defining a number of rows of saidrectangular array; and, one or more color patches defining a number ofcolumns of said rectangular array.
 6. The color calibration jobidentification system according to claim 1, wherein said patch codeincludes one or more color patches defining a target type.
 7. The colorcalibration job identification system according to claim 1, wherein saidpatch code includes one or more color patches specifying the type ofmarking technology.
 8. The color calibration job identification systemaccording to claim 1, wherein said patch code includes one or more colorpatches specifying the type of medium on which the patches are printed.9. The color calibration job identification system according to claim 1,wherein said color patches comprise an octal numbering system, and eachof said color patches is printed with a color selected from one of eightdistinguishable colors such as at least one of cyan, magenta, yellow,white, red, green, blue and midgray.
 10. The color calibration jobidentification system according to claim 9, wherein each of said colorsexclusively represents an octal digit not less than 0 and not greaterthan
 7. 11. The color calibration job identification system according toclaim 1, further including a patch code encoding system comprising:means for converting job identification data into a patch code; andmeans for converting the patch code into a sequence of device signals tobe sent to the printer.
 12. The colorcalibration job identificationsystem according to claim 1, further including a spectrophotometricscanner system which reads said start code, said job identification andsaid color targets and produces machine readable spectrophotometric scanresults including said job identification data and calibration data. 13.The colorcalibration job identification system according to claim 1,further including a spectrophotometric scanner system which reads saidstart code, said job identification and said color targets and produceshuman readable spectrophotometric scan results including said jobidentification data and calibration data.
 14. A color calibration jobidentification system comprising: a printed page on which at least onecolor target is printed; and, a patch code printed on the page toprovide additional data useful to the color calibration, wherein saidpatch code includes a plurality of data sub-patch codes including, atleast one of: date by time; page number; and, sub ID codes.
 15. A methodfor encoding job identification on a printed page on which at least onecolor target is printed and for scanning said printed page for said jobidentification data and said calibration data comprising: converting jobidentification information to a patch code; converting the patch codeinto a sequence of device signals to be sent to the printer; printing afirst portion of a patch code including a start code on said printedpage, wherein said start code includes two or more color patches whereineach of said patches is comprised of a predefined color; printing asecond portion of a patch code including job identification data whereinsaid job identification data includes two or more color patches whereineach of said patches is of a color selected from a plurality of colors,each of said colors indicative of a unique datum value; printing one ormore color targets; scanning said printed page with a spectrophotometricscanner system for said start code, said job identification and saidcolor targets; and, generating spectrophotometric scan results includingsaid job identification data and calibration data.
 16. The method as setforth in claim 15, further comprising: determining correct functioningof a printer by confirming a presence of said start code.
 17. The methodas set forth in claim 15, further comprising: determining an orientationof said printed page in said spectrophotometric scanner system byscanning alternate corners of said printed page until a start code isfound, and assuming a default orientation if said start code cannot befound.
 18. The method as set forth in claim 15, further comprising:printing said patch code as a rectangular array of color patchesincluding: printing one or more color patches defining a number of rowsof said rectangular array; and, printing one or more color patchesdefining a number of columns of said rectangular array.
 19. The methodas set forth in claim 15, further comprising: printing job and targetidentifying data in said job identification, including at least one of:target type; date by time; type of marking technology; type of medium;page number; and, sub ID codes.
 20. The method as set forth in claim 15,further, wherein said converting of patch code into a sequence of devicesignals comprise an octal numbering system, and each of said colorpatches is printed with a color selected from one of eightdistinguishable colors such as at least one of cyan, magenta, yellow,white, red, green, blue and midgray.
 21. The method as set forth inclaim 20, wherein each of said colors exclusively represents an octaldigit not less than 0 and not greater than 7.